package com.shxzz.easy12306.services.user.service;

import com.shxzz.easy12306.framework.starter.common.dto.user.PassengerActualRespDTO;
import com.shxzz.easy12306.services.user.dto.req.PassengerRemoveReqDTO;
import com.shxzz.easy12306.services.user.dto.req.PassengerReqDTO;
import com.shxzz.easy12306.services.user.dto.resp.PassengerRespDTO;

import java.util.List;

/**
 * 乘车人服务接口层
 */
public interface PassengerService {

    /**
     * 添加乘车人
     */
    void savePassenger(PassengerReqDTO requestParam);

    /**
     * 修改乘车人信息
     */
    void updatePassenger(PassengerReqDTO requestParam);

    /**
     * 从乘车人列表移除乘车人
     */
    void removePassenger(PassengerRemoveReqDTO requestParam);

    /**
     * 根据用户名查询乘车人脱敏信息列表
     */
    List<PassengerRespDTO> listPassengerQueryByUsername(String username);

    /**
     * 根据乘车人 ID 集合,查询乘车人真实信息列表
     */
    List<PassengerActualRespDTO> listPassengerQueryByIds(String username, List<Long> ids);
}
